import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        char[] cc = in.next().toCharArray();
        // 这道题目其实就是求最长非递减子序列，求出最长非递减子序列的长度之后，结果就是n-长度
        List<Character> list = new ArrayList<>();
        for (char c : cc) {
            // 如果list为空，或者c>=list的最后一个元素，那么直接add
            if (list.isEmpty() || c >= list.get(list.size()-1)) {
                list.add(c);
            } else {
                // 此时就需要判断c应该插入在list的哪个位置
                // 因为list中的元素是有序的，所以可以使用二分查找来找到c要插入的位置
                // 二分将整个list分为 <= c的部分和大于 c 的部分，然后我们要插入的位置就是
                // 大于c部分的第一个元素
                int left = 0;
                int right = list.size()-1;
                while (left < right) {
                    int mid = left + (right-left) / 2;
                    if (list.get(mid) > c) {
                        right = mid;
                    } else {
                        left = mid + 1;
                    }
                }
                list.set(left, c);
            }
        }
        System.out.println(n-list.size());
    }
}
